Vue

您所在的位置:网站首页 must not的用法 Vue

Vue

2024-07-12 04:49:11| 来源: 网络整理| 查看: 265

原文网址:Vue--插槽(v-slot)--使用/教程/实例_IT利刃出鞘的博客-CSDN博客

简介

说明

        本文用示例说明Vue的插槽(v-slot)的用法。包括:普通插槽,作用域插槽等。

官网

插槽 — Vue.js

普通插槽

说明

        vue 在 2.6.0 中,具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令),它取代了 slot 和 slot-scope,这两个在vue2.6.x中已被废弃但未被移除。vue 3 中, slot 和 slot-scope会被直接移除。

具名插槽

父组件:   //简写方式:

子组件:对应:

无名插槽

        父组件所有不带插槽名字的或者不在中的内容,都会被放到子组件默认插槽中:。

        实际上,这两种都会带有隐含的名字:default

slot与v-slot区别

项slotv-slot用法

父组件:

子组件:

父组件:

子组件:

使用位置

可用在任意标签,如:

只能用在 组件component 或者 template 上  作用域插槽

具名作用域插槽写法

父组件:    //简写方式:

子组件:对应:

prop名字问题

在使用时,父组件的取值的名字必须与子组件返回的相同,如下图加粗部分所示:

父组件: {{data1.data2}} 子组件:

说明:父组件的data1里边包含的就是这样的数据:{"data2": testData绑定的对象},所以通过data1已经可以获取到数据了。

默认作用域插槽写法

默认插槽 可以写成  v-slot='xxx'。也就是: 

注意: 这样写是不对的,#之后必须带参数。 

作用域解构插槽

父组件:    //这个名字(prop)必须对应下方加粗部分的名字

子组件:对应:

说明:

可以对父组件prop重命名:可以设置默认内容:以上边为例,获取的data2是childData对应的对象。

支持动态插槽名

 

slot与v-slot区别

项slotv-slot用法

父组件: {{data1.data2}}

子组件:

父组件: {{data1.data2}}

子组件:

使用位置

可用在任意标签,如:

只能用在 组件component 或者 template 上  实例1:子获取父的值

router/index.js

import Vue from 'vue' import Router from 'vue-router' import ComponentA from "../components/ComponentA"; Vue.use(Router) export default new Router({ routes: [ { path: '/component-a', name: 'ComponentA', component: ComponentA } ] })

components/ComponentA.vue(父组件) 

ComponentA

ComponentA的div import ComponentB from "./ComponentB"; export default { components: {ComponentB}, }

components/ComponentB.vue(子组件)

ComponentB

ComponentB的div export default { }

测试

访问:http://localhost:8080/#/component-a

实例2:父子相互取值

router/index.js

import Vue from 'vue' import Router from 'vue-router' import ComponentA from "@/components/ComponentA"; Vue.use(Router) export default new Router({ routes: [ { path: '/componentA', name: 'ComponentA', component: ComponentA } ] })

components/ComponentA.vue(父组件)

ComponentA

{{ data1 }} import ComponentB from "./ComponentB"; export default { components: {ComponentB}, }

components/ComponentB.vue(子组件)

ComponentB

export default { data() { return { user: { lastName: 'Stark' } } } }

测试

访问:http://localhost:8080/#/component-a

实例3:todo列表

简介

        本处在子组件中有要做的事情(包括已完成的和未完成的),然后父组件对其进行显示,如果已经完成,就在前边打个“√”。

router/index.js

import Vue from 'vue' import Router from 'vue-router' import ComponentA from "../components/ComponentA"; Vue.use(Router) export default new Router({ routes: [ { path: '/component-a', name: 'ComponentA', component: ComponentA } ] })

components/ComponentA.vue(父组件)

ComponentA

√ {{data1.data2.title}} import ComponentB from "./ComponentB"; export default { components: {ComponentB}, }

components/ComponentB.vue(子组件)

ComponentB

export default { data() { return { todoLists: [ { id: 1, title: 'Do the dishes', isCompleted: true, }, { id: 2, title: 'Take out the trash', }, { id: 3, title: 'Wash the clothes' } ] } } }

测试

访问:http://localhost:8080/#/component-a

其他网址

深入了解组件 - 插槽 - 《Vue.js v2.x 官方教程》 - 书栈网 · BookStack

Vue 2.6+ 你需要知道的 v-slot - 简书vue---slot,slot-scoped,以及2.6版本之后插槽的用法 - 站住,别跑 - 博客园

vue作用域插槽,你真的懂了吗?slot-scope:作用域插槽特性:子组件传递数据给父组件_灵灵7的博客-CSDN博客



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭